package com.zmn.oms.third.jddj.api;

import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 京东到家装渠道订单数据定义
 *
 * @author xiewenbing
 * @date 2021/01/20
 */
@Data
@ToString
public class JddjOrderData implements Serializable {

    /**
     * 订单号
     */
    Long orderId;

    /**
     * 订单来源类型(0:原订单，10:退款单，20:补货单，30:直赔商品 ，40:退货)
     */
    Integer srcInnerType;

    /**
     * 订单类型（10000：从门店出的订单）
     */
    Integer orderType;

    /**
     * 订单状态（20010:锁定，20020:订单取消，20030:订单取消申请，20040:超时未支付系统取消，31000:等待付款，31020:已付款，
     * 41000:待处理，32000:等待出库，33040:配送中，33060:已妥投，90000:订单完成）
     */
    Integer orderStatus;

    /**
     * 订单时效类型(0:无时效;2:自定义时间;1:次日达;27:七小时达;24:六小时达;21:五小时达;
     * 18:四小时达;15:三小时达;12:两小时达;9:一小时达;6:半小时达;)
     */
    Integer orderAgingType;

    /**
     * 预计送达开始时间
     */
    Date orderPreStartDeliveryTime;

    /**
     * 预计送达结束时间
     */
    Date orderPreEndDeliveryTime;

    /**
     * 商家最晚拣货完成时间
     */
    Date pickDeadline;

    /**
     * 商家编码
     */
    String orgCode;

    /**
     * 买家账号
     */
    String buyerPin;

    /**
     * 收货人名称
     */
    String buyerFullName;

    /**
     * 收货人地址
     */
    String buyerFullAddress;

    /**
     * 收货人电话
     */
    String buyerTelephone;

    /**
     * 收货人手机号
     */
    String buyerMobile;

    /**
     * 收货人真实手机号后四位
     */
    String lastFourDigitsOfBuyerMobile;

    /**
     * 订单支付类型(1：货到付款，4:在线支付;)
     */
    Integer orderPayType;

    /**
     * 订单支付渠道，8001：微信支付；8002：微信免密代扣；8003：微信找人代付；9000：京东支付（无法判断具体京东支付子类型）；
     * 9002：京东银行卡支付；9004：京东白条支付；9012：京东余额支付；9022：京东小金库支付
     */
    Integer payChannel;

    /**
     * 订单商品销售价总金额
     */
    Long orderTotalMoney;

    /**
     * 订单级别优惠商品金额
     */
    Long orderDiscountMoney;

    /**
     * 用户支付的实际订单运费
     */
    Long orderFreightMoney;

    /**
     * 订单应收运费
     */
    Long orderReceivableFreight;

    /**
     * 用户积分抵扣金额
     */
    Long platformPointsDeductionMoney;

    /**
     * 用户应付金额
     */
    Long orderBuyerPayableMoney;

    /**
     * 订单货款总金额
     */
    Long orderGoodsMoney;

    /**
     * 收货人地址腾讯坐标经度
     */
    Double buyerLng;

    /**
     * 收货人地址腾讯坐标纬度
     */
    Double buyerLat;

    /**
     * 收货人市ID
     */
    String buyerCity;

    /**
     * 收货人市名称
     */
    String buyerCityName;

    /**
     * 收货人县(区)ID
     */
    String buyerCountry;

    /**
     * 收货人县(区)名称
     */
    String buyerCountryName;

    /**
     * 订单买家备注
     */
    String orderBuyerRemark;

    /**
     * 订单来源系统，枚举如下：(0, 京东到家),(1, 到家app),(2, 到家h5),(3, 京东搜索订单),(5, 微信小程序),
     * (6, 线下购物),(7, 好收成),(8, 自助收银),(9, 自营店pos机),(10, 售后),
     * (11, 自营店自助收银),(12, 商家小程序),(13, 超级会员-自助收银-到家app),
     * (14, 自营店轻松购),(15, 超级会员-自助收银-小程序),(16, 超级会员-POS-到家app),
     * (17, 超级会员-POS-小程序),(18, 百度小程序),(19, QQ小程序),(20,京东融合【物竞天择】);
     */
    String srcOrderType;

    /**
     * 订单来源系统订单号(比如京东订单号)
     */
    String srcOrderId;

    /**
     * 包含需要查询订单的商品List列表
     */
    List<JddjProductData> product;
}
